package com.leilei.service;

import com.leilei.entity.Commodity;
import com.leilei.entity.Page;

import java.util.List;

public interface ICommodityService {

    /**
     * 得到主页的商品图
     * @return 返回商品集合
     */
    List<Commodity> getCommodityInIndex(int type);

    /**
     * 分页查询
     * @param type 要查找的商品类型
     * @param page 要查找的页数
     * @param pageSize 页面的最大显示数量
     * @return 返回商品集合
     */
    List<Commodity> getCommodityBypage(int type, int page, int pageSize);

    /**
     * 根据pid查询Commodity信息
     * @param pid 要查询的pid
     * @return 返回一个Commodity
     */
    Commodity getCommodityByPid(int pid);

    /**
     * 查询定制化产品信息
     * @param pid 要查询的商品id
     * @param pvid 要查询的版本id
     * @param pcid 要查询的颜色id
     * @return
     */
    Commodity getCommodityCustom(int pid, int pvid, int pcid);

    /**
     * 分页查询
     * @param page Page对象
     * @param type 商品类型
     * @return 返回商品信息
     */
    List<Commodity> getCommodityByPage(Page page, int type);

    /**
     * 根据商品类型查找商品数量
     * @param type 商品类型
     * @return 返回商品数量
     */
    int getCountByType(int type);

    /**
     * 更新商品信息
     * @param commodity 商品
     * @return 是否成功
     */
    boolean updateCommodity(Commodity commodity);

    /**
     * 新增商品
     * @param commodity 商品
     * @return 是否成功
     */
    boolean insertCommodity(Commodity commodity);

    /**
     * 得到主页的轮播商品
     * @return 返回商品集合
     */
    List<Commodity> lunboCommodity();
}
